package com.lcke.common.config;

import cn.hutool.core.date.DateUtil;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import org.springframework.boot.jackson.JsonComponent;
import org.springframework.core.convert.converter.Converter;

import java.io.IOException;
import java.util.Date;

/**
 * 字符串转日期格式，支持多种日期格式
 *
 * @author shenmk
 * @date 2023年3月10日
 */
@JsonComponent
public class StringDateConvert extends JsonDeserializer<Date> implements Converter<String, Date> {


    @Override
    public Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
        return convert(p.getText());
    }

    @Override
    public Date convert(String value) {
        return DateUtil.parse(value);
    }

}
